Ders 20 - Authentication Flaws > Password Strength | |||||
Authentication Flaws(Kimlik Doğrulama Kusurları) ünitesinin ilk dersi olan
Password Strength(Şifre Güçlülüğü) dersinde ders ekranında yer alan şifrelerin ne kadar güvenli şifreler olduğundan bahsedilecektir.
Dersin HedefiBu egzersizde yapacağınız iş verilen şifrelerin güvenilirliğinin https://www.cnlab.ch/codecheck üzerinde test edilmesidir.AçıklamalarŞifreleri kırmanın birden fazla yolu vardır. Bunlardan birine Brute Force derler. Anlamı kaba kuvvet demektir. Bu yönteme göre şifreyi çözmek demek olabilecek tüm karakter kombinasyonlarının denenmesi demektir. Ne demek istediğimi ufak bir örnek ile açıklayayım. Bilgisayarda karakterler 8 bitlik veriler halinde bellekte depolanırlar. Mesela A karakterinin bellekteki hali 01000001 'dir. Dikkat ederseniz A'yı temsil eden bu sayı 8 haneden(bitten) oluşmaktadır. B karakterinin bellekteki hali ise 01000010'dır. Tüm alfabedeki harfler farklı bir 8 bitlik sayıya tekabül etmektedir. Dolayısıyla eğer şifremiz karabuk olursa bu şifredeki her bir harf 8 bitlik sayı olduğundan ve şifre 7 harfli olduğundan dolayı 7 tane 8 bitlik sayı yanyana bellekte tutuluyor olacaktır. Şimdi düşünün: Madem 8 bitlik sayıları değiştirerek alfabedeki harfleri değiştirmiş oluyoruz o zaman 7 harfli bu şifre için her 8 bitlik blok beraberce değiştirilerek tüm olası seçenekleri deneyemez miyiz? Daha basit düşünelim: 3 haneli bir ikili sayı düşünün. Bu 3 bitlik sayı 000, 001, 010, 011, 100, 101, 110 ve 111 olabilir. Yani 3 bitlik ikili sayının olabileceği tüm sayılar 8 tanedir. İşte bu şekilde denenebilecek tüm seçenekleri denemeye brute force saldırısı denmektedir. Başka deyişle olabilecek tüm kombinasyonları denemeye brute force saldırısı denmektedir.Tüm seçenekler bizim havuzumuzdur. İçlerinden biri ise şifrenin ta kendisidir. Diyelim ki brute force saldırısı yapabilen bir programa 1 uzunluğunda ve 2 uzunluğunda brute force saldırısı yap dedik. Böylesi bir senaryoda program şöylesi bir tarama yapar: a b c d e f g h i j k l m n o p q r s t u v w x v z aa ab ac ad ae af ... az ba bb bc bd bf ... bz ca cb cc cd ce cf ... ... ... za zb zc zd ze zf zg zh zi zj zk zl zm zn zo zp zq zr zs zt zu zv zw zx zy zz Yukarıda görüldüğü üzere program 1 ve 2 karakterli tüm kombinasyonları(olasılıkları) dener. Bu olasılıkların arasından biri eğer aradığımız şifre ise program şifreyi kırdı denir. Dersin ÇözümüDersin çözümü için gerekli olan web sitesi(https://www.cnlab.ch/codecheck) içeriğini kaldırdığı için bu dersi tamamlayamacaksınız. Fakat dersin ne sunduğu ve ne öğrettiğine gelecek olursak dersin bize öğretmeye çalıştığı şey şifrelerin kuvvetliliğidir. Bunu aşağıda sıralanan şifreler ve kırılma saniyeleri ilişkisinden öğrenebilirsiniz:Password = 123456: 0 saniye Password = abzfez: 1394 saniye Password = a9z1ez: 5 saat Password = aB8fEz: 2 gün Password = z8!E?7: 41 gün Ders ekranında gördüğünüz 123456 şifresi bir brute force programı ile 0 saniyede kırılabilmektedir. Yani diyelim ki bir eposta hesabının eposta adresini biliyorsunuz ve şifresini bilmiyorsunuz. Eğer eposta adresi için şifre sadece sayılardan oluşuyorsa ve 6 haneli ise bir brute force programı 6 haneli tüm sayı kombinasyonlarını web sayfasında deneyecektir ve bunu 0 saniye içerisinde gerçekleştirerek eposta adresine giriş yaptığında şifreyi kırmış olacaktır. Yukarıda verilen şifreler içerisinde dikkat ederseniz biri var ki bir brute force programı tarafından 41 gün içerisinde kırılabilmektedir. Bu uzun süre zarfının nedeni şifrede kullanılan karakter setlerinin çeşitliliğinden kaynaklanmaktadır. Fark ettiyseniz 41 günde kırılabilen z8!E?7 şifresinde sayı karakter setinden, küçük alfabe karakter setinden, büyük alfabe karakter setinden ve işaretleme karakter setinden birer numuneler kullanılmıştır. Bu şu demektir: Denenecek tüm seçeneklerin sayısı karakter setlerinin genişliği ölçüsünde artar. Dolayısıyla ne kadar çok farklı karakter setinden karakter kullanırsak şifremiz brute force'a karşı o derece dayanıklı olacaktır. Fakat şu da var ki bu 41 günlük zaman dilimi programın çalıştırıldığı donanımdan donanıma değişiklik göstermektedir. Bir süper bilgisayar bunu belki saniyeler içerisinde çözebilirken bir ofis bilgisayarı belki 1 yılda çözebilir. Dolayısıyla diyebiliriz ki şöyle veya böyle kırılamayacak şifre yoktur. Microsoft brute force'a karşı dayanıklı şifre için P@sw0rd örneğini vermektedir. Gördüğünüz üzere bu şifre içerisinde büyük harf, küçük harf, işaretleme ve sayı kullanılmıştır. Kırılamayacak şifre olmadığından kritik hesaplarınız için böylesi çeşitli karakter setlerinden oluşan şifre kullanmanız önerilmekte ve ayrıca her 90 günde bir şifrenin aynı kuvvetlilikte olmak kaydıyla değiştirilmesi önerilmektedir. |
|||||
Bu yazı 31.08.2015 tarihinde, saat 17:50:57'de yazılmıştır. 23.09.2015 tarihi ve 15:52:04 saatinde ise güncellenmiştir. | |||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||